//package approval.dao;
//
//import java.io.BufferedReader;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.IOException;
//import java.io.InputStreamReader;
//import java.sql.ResultSet;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.Hashtable;
//import javax.faces.bean.ManagedBean;
//import javax.faces.bean.ManagedProperty;
//import javax.faces.bean.SessionScoped;
//import javax.faces.context.FacesContext;
//import javax.faces.event.ActionEvent;
//import javax.servlet.ServletContext;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpSession;
//import org.apache.commons.codec.DecoderException;
//import org.apache.commons.codec.binary.Base64;
//
//import resource.pojo.Approvedoc;
//import resource.pojo.GroupApprove;
//import resource.pojo.Typedoc;
//import models.pojo.Employee;
//import model.util.UtilInitLang;
//import models.util.MySqlDataAccessHelper;
//
//@ManagedBean(name = "newDocDAO")
//@SessionScoped
//public class NewDocDAO {
//
//	@ManagedProperty(value = "#{utilInitLang.getClassEntity()}")
//	private UtilInitLang utilInitLang;
//	private Hashtable<String, String> langs;
//	private String valueEditor;
//	private String errNoReceiver;
//	private String scriptNoReceiver;
//	private String isShow;
//	private String titleDoc;
//	MySqlDataAccessHelper mysqlHelper = new MySqlDataAccessHelper();
//
//	@ManagedProperty(value = "#{newListDocDAO.getClassEntity()}")
//	private NewListDocDAO newListDocDAO;
//	// private static ConnectionPool connectionPool = null;
//	//
//	// static {
//	// try {
//	// connectionPool = ConnectionPool.getConnectionPool();
//	// } catch (Exception e) {
//	// System.out.println("Error01:static block error!!");
//	// }
//	// }
//
//	public MySqlDataAccessHelper getMysqlHelper() {
//		return mysqlHelper;
//	}
//
//	public NewListDocDAO getNewListDocDAO() {
//		return newListDocDAO;
//	}
//
//	public void setNewListDocDAO(NewListDocDAO newListDocDAO) {
//		this.newListDocDAO = newListDocDAO;
//	}
//
//	public void setMysqlHelper(MySqlDataAccessHelper mysqlHelper) {
//		this.mysqlHelper = mysqlHelper;
//	}
//
//	public UtilInitLang getUtilInitLang() {
//		return utilInitLang;
//	}
//
//	public void setUtilInitLang(UtilInitLang utilInitLang) {
//		this.utilInitLang = utilInitLang;
//	}
//
//	public Hashtable<String, String> getLangs() {
//		langs = getUtilInitLang().getLangs();
//		return langs;
//	}
//
//	public void setLangs(Hashtable<String, String> langs) {
//		this.langs = langs;
//	}
//
//	// public ResultSet ExecuteQuery(String sql) {
//	// Connection conn = null;
//	// ResultSet rs = null;
//	// try {
//	// conn = connectionPool.getConnection();
//	// Statement stmt = conn.createStatement();
//	// rs = stmt.executeQuery(sql);
//	// } catch (Exception e) {
//	// e.printStackTrace();
//	// } finally {
//	// connectionPool.releaseConnection(conn);
//	// }
//	// return rs;
//	// }
//	//
//	// public void ExecuteUpdate(String sql) {
//	// Connection conn = null;
//	// try {
//	// conn = connectionPool.getConnection();
//	// Statement stmt = conn.createStatement();
//	// stmt.executeUpdate(sql);
//	// stmt.close();
//	// } catch (Exception e) {
//	// e.printStackTrace();
//	// } finally {
//	// connectionPool.releaseConnection(conn);
//	// }
//	// }
//
//	public void checkScript(ActionEvent event) throws IOException {
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Object obj = ss.getAttribute("Group");
//		if (obj != null) {
//			setErrNoReceiver("OK");
//			setScriptNoReceiver("checkForConfirmation();RichFaces.ui.PopupPanel.showPopupPanel('pInputTitle');");
//		} else {
//			setErrNoReceiver(getLangs().get("errAppointReceiver"));
//			setScriptNoReceiver("RichFaces.ui.PopupPanel.showPopupPanel('pErrMissReceiver');");
//		}
//		
//	}
//	public void check(ActionEvent e){
//		setScriptNoReceiver("checkForConfirmation();RichFaces.ui.PopupPanel.showPopupPanel('pInputTitle');");
//	}
//
//	public void createAtr(ActionEvent e) {
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		ss.setAttribute("Binding", new Boolean(true));
//
//	}
//
//	public void saveDocApprove(ActionEvent e) {
//		if (this.getTitleDoc().length() == 0) {
//			setIsShow(".show()");
//		} else {
//			try {
//				saveDoc();
//				setIsShow(".hide();closeWin();");
//				HttpSession ss = (HttpSession) FacesContext
//						.getCurrentInstance().getExternalContext()
//						.getSession(true);
//				ss.removeAttribute("Group");
//			} catch (DecoderException e1) {
//			}
//		}
//	}
////	public void saveDocApprove1(ActionEvent e) {
////		if (this.getTitleDoc().length() == 0) {
////			setIsShow(".show()");
////		} else {
////			try {
////				saveDoc1();
////				setIsShow(".hide();closeWin();");
//////				HttpSession ss = (HttpSession) FacesContext
//////						.getCurrentInstance().getExternalContext()
//////						.getSession(true);
//////				ss.removeAttribute("Group");
////				titleDoc="";
////				getNewListDocDAO().setCheck(false);
////				getNewListDocDAO().getAllDocSelect().clear();
////			} catch (DecoderException e1) {
////			}
////		}
////	}
//	private void saveDoc1() throws DecoderException {
//		mysqlHelper.open();
//
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Employee em = (Employee) ss.getAttribute("Employee");
//		Typedoc typeDoc = (Typedoc) ss.getAttribute("TypeDoc");
//		
//		String sqlApproveDoc = "insert into approvedoc(Tile,Content,IDEmployee,Timecreate,IDStatus,IDTypeDoc) values('"
//				+ this.getTitleDoc()
//				+ "','"
//				+ this.convert(valueEditor)
//				+ "','"
//				+ em.getIdemployee()
//				+ "',"
//				+ "NOW()," + "2," + typeDoc.getiDTypeDoc() + ")";
////		updateGroupApprove(g);
//		mysqlHelper.executeUpdate(sqlApproveDoc);
//		
//	}
//	private void saveDoc() throws DecoderException {
//		mysqlHelper.open();
//
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//		Employee em = (Employee) ss.getAttribute("Employee");
//		Typedoc typeDoc = (Typedoc) ss.getAttribute("TypeDoc");
//		GroupApprove g = (GroupApprove) ss.getAttribute("Group");
//		String sqlApproveDoc = "insert into approvedoc(Tile,Content,IDEmployee,IDGroupApprove,Timecreate,IDStatus,IDTypeDoc) values('"
//				+ this.getTitleDoc()
//				+ "','"
//				+ this.convert(valueEditor)
//				+ "','"
//				+ em.getIdemployee()
//				+ "',"
//				+ g.getIdGroupApprove()
//				+ ",NOW()," + "2," + typeDoc.getiDTypeDoc() + ")";
//		updateGroupApprove(g);
//		mysqlHelper.executeUpdate(sqlApproveDoc);
//
//	}
//
//	private void updateGroupApprove(GroupApprove g) {
//		mysqlHelper.open();
//		String sql = "update groupapprove set StatusUse=1 where IDGroupApprove="
//				+ g.getIdGroupApprove();
//		mysqlHelper.executeUpdate(sql);
//	}
//
//	public String convert(String a) {
//		return a.replaceAll("\'", "\"");
//	}
//
//	public String getValueEditor() throws DecoderException {
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpServletRequest req = (HttpServletRequest) f.getExternalContext()
//				.getRequest();
//		String s = req.getParameter("fileInfo");
//		if (s != null) {
//			Base64 b = new Base64();
//			byte[] temp = b.decode(s);
//			valueEditor = new String(temp);
//			Date d = new Date();
//			HttpSession ss = (HttpSession) f.getExternalContext().getSession(
//					true);
//			ss.setAttribute("TypeDoc", new Typedoc(4, "Document From PC", 0,0, 0, "",d,0));
//		} else {
//			HttpSession ss = (HttpSession) f.getExternalContext().getSession(
//					true);
//			if (ss.getAttribute("new") != null) {
//				Boolean isNew = (Boolean) ss.getAttribute("new");
//				if (isNew) {
//					ServletContext sev = (ServletContext) f
//							.getExternalContext().getContext();
//					String a = f.getExternalContext().getRequestServletPath();
//					String urlTemp = sev.getRealPath(a);
//					String url = urlTemp.substring(0,
//							urlTemp.lastIndexOf(File.separator))
//							+ File.separator
//							+ "TemplateDoc"
//							+ File.separator
//							+ getPathDoc();
//					valueEditor = getHtml(url);
//
//				}
//				ss.setAttribute("new", new Boolean(false));
//			}
//
//		}
//		return valueEditor;
//	}
//
//	public String getHtml(String htmlfile) {
//		String temp = "";
//		try {
//			BufferedReader b = new BufferedReader(new InputStreamReader(
//					new FileInputStream(htmlfile), "utf8"));
//			String line = "";
//			while ((line = b.readLine()) != null) {
//				temp = temp + line;
//			}
//			b.close();
//		} catch (IOException e) {
//			e.printStackTrace();
//		}
//		return temp;
//	}
//
//	public String getPathDoc() {
//		FacesContext f = FacesContext.getCurrentInstance();
//		HttpSession s = (HttpSession) f.getExternalContext().getSession(true);
//		Typedoc typeDoc = (Typedoc) s.getAttribute("TypeDoc");
//		String lang = (String) s.getAttribute("lang");
//		if (lang.equalsIgnoreCase("VN")) {
//			String temp = typeDoc.getContentDoc().getPath();
//			String temp1 = temp.substring(0, temp.lastIndexOf(".")) + "_VN"
//					+ ".html";
//			return temp1;
//		}
//		if (lang.equalsIgnoreCase("EN")) {
//			String temp = typeDoc.getContentDoc().getPath();
//			String temp1 = temp.substring(0, temp.lastIndexOf(".")) + "_EN"
//					+ ".html";
//			return temp1;
//		}
//		String temp = typeDoc.getContentDoc().getPath();
//		String temp1 = temp.substring(0, temp.lastIndexOf(".")) + "_KR"
//				+ ".html";
//		return temp1;
//
//	}
//
//	public void setValueEditor(String valueEditor) {
//		this.valueEditor = valueEditor;
//	}
//
//	public String getErrNoReceiver() {
//		return errNoReceiver;
//	}
//
//	public void setErrNoReceiver(String errNoReceiver) {
//		this.errNoReceiver = errNoReceiver;
//	}
//
//	public String getScriptNoReceiver() {
//		return scriptNoReceiver;
//	}
//
//	public void setScriptNoReceiver(String scriptNoReceiver) {
//		this.scriptNoReceiver = scriptNoReceiver;
//	}
//
//	public String getIsShow() {
//		return isShow;
//	}
//
//	public void setIsShow(String isShow) {
//		this.isShow = isShow;
//	}
//
//	public String getTitleDoc() {
//		return titleDoc;
//	}
//
//	public void setTitleDoc(String titleDoc) {
//		this.titleDoc = titleDoc;
//	}
//
//	public void saveDocApprove1(ActionEvent e) {
//		if (this.getTitleDoc().length() == 0) {
//			setIsShow(".show()");
//		} else {
//			try {
//				saveDoc1();
//				getRecordCuoicung();				
//				setIsShow(".hide();closeWin();");
////				HttpSession ss = (HttpSession) FacesContext
////						.getCurrentInstance().getExternalContext()
////						.getSession(true);
////				ss.removeAttribute("Group");
//				titleDoc="";
//				getNewListDocDAO().setCheck(false);
//				getNewListDocDAO().getAllDocSelect().clear();
//			} catch (DecoderException e1) {
//			}
//		}
//	}	
//	
//	private void getRecordCuoicung(){	
//		//mysqlHelper.open();
//		try{
//			FacesContext f = FacesContext.getCurrentInstance();
//			HttpSession ss = (HttpSession) f.getExternalContext().getSession(true);
//			ArrayList<Approvedoc> app = new ArrayList<Approvedoc>();
//			String sql= "SELECT * FROM approvedoc WHERE IDApproveDoc="+getLastIDRecord();
//			ResultSet rs = mysqlHelper.executeQuery(sql);		
//			System.out.println("SQL:"+sql);
//			if (rs==null)System.out.println("NULL!");
//			
//			while(rs.next()){
//				
//				Approvedoc ap = new Approvedoc(rs.getInt("IDApproveDoc"),
//						rs.getString("Tile"), rs.getString("Content"),
//						rs.getString("IDEmployee"),
//						rs.getString("IDGroupApprove"),
//						rs.getDate("Timecreate"), rs.getInt("IDStatus"),
//						rs.getInt("IDTypeDoc"), rs.getDate("TimeApprove"),
//						rs.getString("comment"),
//						rs.getString("Description"));
//				app.add(ap);
//			}
//			
//			
//			ss.setAttribute("alldoc",null);
//			ss.setAttribute("alldoc", app);
//			
//		} catch (Exception e) {
//			e.printStackTrace();
//		} finally {
//			mysqlHelper.close();
//		}
//		
//	}
//	
//	private int getLastIDRecord(){
//		int a=0;
//		mysqlHelper.open();
//		try{
//			String sql= "SELECT MAX(IDApproveDoc) as  'a' FROM approvedoc";
//			ResultSet rs2 = mysqlHelper.executeQuery(sql);
//			while(rs2.next()){
//				a = rs2.getInt("a");
//			}
//			rs2.close();
//		} catch (Exception e) {
//			e.printStackTrace();
//		} finally {
//			
//		}
//		return a;
//	}
//}
